//
//  AppDelegate.swift
//  WKWeibo
//
//  Created by 恋guang年 on 16/3/25.
//  Copyright © 2016年 恋guang年. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        //创建window
        window = UIWindow(frame:UIScreen.mainScreen().bounds)
        //设置全局导航栏属性
        setUpNavigationBar()
        //设置window根控制器
        window?.rootViewController = getDefaultController()
        //        print("[isNewVersion: \(isNewVersion())]")
        window?.makeKeyAndVisible()
        print("nimeia ")
        print("你妹")
        
        return true
    }
    
    ///提供一个类方法 供外界切换AppDelegate的根控制器
    class func outSwitchAppDelegateRootViewController(controller : UIViewController){
        //获得appDelegate单列
       let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.window?.rootViewController = controller
    }
    
    ///判断默认控制器 是否登录过 没登录过显示授权主控制器 登录过再判断是否是新版本 是新版本显示新特效控制器 不是显示欢迎控制器
    private func getDefaultController() -> UIViewController{
        //判断是否登录过
        if !WKUserAccountViewModel.sharedInstance.isUserLogin{
            return WKMainViewController()
        }
        //登录过 判断是否是新版本
        if  isNewVersion() {
            return WKNewFeatrueController()
        }
        
        //登录过 又不是新版本 返回欢迎控制器
        return WKWelcomeController()
    }
    ///判断是否是新版本
    private func isNewVersion() -> Bool {
        //取出当前版本
        let currentVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
        //从沙盒中获得上一个版本号
        let preVersion = NSUserDefaults.standardUserDefaults().stringForKey("sandboxKey")
        //如果是新版本保存到沙盒 如果当前版本和上一个版本不同 就说明是新版本
        let newVersion = preVersion != currentVersion
        if newVersion {
            NSUserDefaults.standardUserDefaults().setObject(currentVersion, forKey: "sandboxKey")
            //同步保存 Xode7 iOS8 可以不用
            NSUserDefaults.standardUserDefaults().synchronize()
            return true
        }
        return false
    }
    ///  设置导航栏相关属性
    private func setUpNavigationBar(){
        
//        UINavigationBar.appearance().barTintColor = UIColor.lightGrayColor()
        UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.blackColor(),NSFontAttributeName:   UIFont.systemFontOfSize(17)]
        UINavigationBar.appearance().tintColor = UIColor.blackColor()
    }
}

